import { Graph } from "@antv/x6";
import "@antv/x6-vue-shape";
import VueNode from "./vue-node.vue";
import VueModelNode from "./vue-model-node.vue";
import VuePortNode from "./vue-port-node.vue";
import VueSubsystemNode from "./vue-subsystem-node.vue";
import VueMetaNode from "./vue-meta-node/index.vue";

export default function registerNodes() {
  Graph.registerVueComponent("vue-node", {
    template: `<vue-node></vue-node>`,
    components: {
      VueNode,
    },
  });
  Graph.registerVueComponent("vue-model-node", {
    template: `<vue-model-node></vue-model-node>`,
    components: {
      VueModelNode,
    },
  });
  Graph.registerVueComponent("vue-port-node", {
    template: `<vue-port-node></vue-port-node>`,
    components: {
      VuePortNode,
    },
  });
  Graph.registerVueComponent("vue-subsystem-node", {
    template: `<vue-subsystem-node></vue-subsystem-node>`,
    components: {
      VueSubsystemNode,
    },
  });
  Graph.registerVueComponent("vue-meta-node", {
    template: `<vue-meta-node></vue-meta-node>`,
    components: {
      VueMetaNode,
    },
  });
}
